今天持續幫自己的程式碼進化中,不過我覺得我應該還在撞牆中...
怎麼辦,今天感覺會持續撞牆,而且還不知道怎麼轉彎誒)遠目
然後,肯定超過時間的...
我今天的感覺就像小孩子拼積木一樣,拿到積木不知道怎麼拼在一起。
不多說先上程式碼吧!!
文字候補。
import random
print('歡迎進入猜數字遊戲,玩家們準備好了嗎?')
GuessGame = input('是否要進入遊戲?(YES/NO)')
if (GuessGame.lower() == "no"):
exit()
elif (GuessGame.lower() == "yes"):
print("遊戲正式開始!")
else:
exit()
rang1 = int(input("請設定本局遊戲的最小值:"))
rang2 = int(input("請設定本局遊戲的最大值:"))
num = random.randint(rang1,rang2)
guess = "guess"
i = 0
while guess != num:
i += 1
guess = int(input("你猜數字多少:"))
if guess == num:
print("恭喜,你猜對了!")
elif guess < num:
print("再大一點!!")
else:
print("再小一點!!")
print("你總共猜了%d" %i + "次"",快點再來一局吧!!!")
def GuessGame(xiamigame):
xiamigame = input('是否要重新開始新的一局?(YES/NO)')
GuessGame == True
while (GuessGame == True):
GuessGame = GuessGame(xiamigame)
xiamigame = input('是否要重新開始新的一局?(YES/NO)')
每天都很慌張啊 ><'''''
上面那段程式碼是,我想要讓程式形成一個可以不斷循環開新局的遊戲。
昨天邦友建議用 while 來寫,今天嘗試了一下,是可以運行沒有錯,但是只有運行前半段而已。
這真的讓我好困惑啊。
就像手中明明有積木,你也知道每個積木的名稱和特性,也有人作出示範品給你看,但是還是組不起來一樣。
我覺得這應該是初學者普遍遇到的問題吧?
以我自己為例:
我除了把程式語言比喻成積木一樣,我覺得也很像寫作文,肯定有起承轉合。
譬如:開頭要用什麼語法,中間該用什麼,最後要加什麼...
我現在就是處在不知道什麼時候該出現什麼什麼結構的概念。
總之,我最後把程式整理成這樣
import random
print('歡迎進入猜數字遊戲,玩家們準備好了嗎?')
GuessGame = input('是否要進入遊戲?(YES/NO)')
if (GuessGame.lower() == "no"):
exit()
elif (GuessGame.lower() == "yes"):
print("遊戲正式開始!")
else:
exit()
rang1 = int(input("請設定本局遊戲的最小值:"))
rang2 = int(input("請設定本局遊戲的最大值:"))
num = random.randint(rang1,rang2)
guess = "guess"
i = 0
while guess != num:
i += 1
guess = int(input("你猜數字多少:"))
if guess == num:
print("恭喜,你猜對了!")
elif guess < num:
print("再大一點!!")
else:
print("再小一點!!")
print("你總共猜了%d" %i + "次"",快點再來一局吧!!!")
def GuessGame(xiamigame):
xiamigame = input('是否要重新開始新的一局?(YES/NO)')
GuessGame == True
while (GuessGame == True):
GuessGame = GuessGame(xiamigame)
xiamigame = input('是否要重新開始新的一局?(YES/NO)')
看起來似乎還行,實際上根本沒有任何改變啊
不過既然沒有改變,就該回到最源頭來思考,源頭就是自己基礎不紮實,要逐步逐步地加強。真的十分推薦不要照本宣科,不要看傳統教學影片起頭,因為看了也不知道怎麼可以運用在生活中,我覺得初學者可以先看看自己想要做出什麼小專案,從實作中再回過頭來看傳統教學影片補知識,然後觀察別人的怎麼做,默默的學起來。
回到正題,上面最終的程式碼,有兩個問題
我把遊戲全部放在 def
之中,但是依然沒有動作,我覺得是放的順序或有其他規定限制等等導致不能運行。
今天我才有更深刻的認知,自己真的對縮排有障礙,我不知道什麼時候該縮排,到底要縮多少。這些都會影響程式我知道,但是我真的還沒研究到那裡 囧
我選這個遊戲來製作是對的,因為裡面有很多地方可以思考和嘗試,像是我之後想要做的就是看看那個 YES/NO 選項,可以不要輸入完整的單字嗎?可以只寫 Y 之類的嗎?或是如果很不幸手殘輸入成其他東西的話,希望系統可以提示或者重啟新局。總之,這個遊戲有好多思考點,真的很不錯!!!
總之我還是要繼續翻教程,順便補前面最基本的一些知識,現在開始覺得地基真的不穩,要多努力才能蓋大樓啊 QAQQQ
對自己的成果不滿意...
淚目收工。
笑死... 這什麼持續進化的方向啦 !!
遊戲全部放在 def 之中
應該要像下面這樣啦!def GuessGame():
rang1 = int(input("請設定本局遊戲的最小值:"))
rang2 = int(input("請設定本局遊戲的最大值:"))
num = random.randint(rang1,rang2)
guess = "guess"
i = 0
while guess != num:
i += 1
guess = int(input("你猜數字多少:"))
if guess == num:
print("恭喜,你猜對了!")
elif guess < num:
print("再大一點!!")
else:
print("再小一點!!")
print("你總共猜了%d" %i + "次"",快點再來一局吧!!!")
while
看看要不要重新玩while(1):
xiamigame = input('是否要重新開始新的一局?(YES/NO)')
if (xiamigame.lower() == "no"):
break # <- 要用exit()也可以
elif (xiamigame.lower() == "yes"):
print("遊戲開始!")
GuessGame() # <- 這行呼叫它
GuessGame
重複命名了,系統不知道GuessGame
到底是"yes/no"還是那個"def"